package com.b2mining.integration.beans;

import java.util.Date;

/**
 * @author adminebiz
 *
 */
public class Retention implements ItemContainer, XMLBean {
	
	private java.lang.String serieRetencion;
	private java.lang.String numRetencion;
	private java.lang.String rucProveedor;
	private java.lang.String razonSocialProveedor;
	private java.lang.String direccionProveedor;
	private java.lang.Double totalMontoPago;
	private java.lang.Double totalMontoRetencion;
	private java.lang.Double totalMontoOrigen;
	private Date fechaRetencion;
	private java.lang.String estado;
	private java.lang.String tipoCambio;
	private java.lang.String banco;
	private java.lang.String corridaNumero;
	/*private int idOrganizacionCompradora;
	private int idAutorizacion;
	private java.lang.String moneda;*/
	private java.lang.String rucComprador;
	private java.lang.String moneda;
	private java.util.Vector retentionItemList= new java.util.Vector();
	private java.lang.String mqMessageId;
	private int idRetention; 
	private java.lang.String status;
	private String NroDocPagoERP;
	private String Obs;
	private String EstadoInicial;
	private String DireccionCliente;
	private String PuestoExpedicion;
	private String RazonSocialCliente;
	private String TelefonoCliente;
	
	//Para verificar si tiene error o no
    private boolean tieneError;
    
  //Para verificar si tiene los campos completos aunque esten vacios
    private boolean completos;
    
    public boolean isCompletos() {
		return completos;
	}

	public void setCompletos(boolean completos) {
		this.completos = completos;
	}

	private String mensajeError;
    

	public boolean isTieneError() {
		return tieneError;
	}
	
	public void setTieneError(boolean tieneError) {
		this.tieneError = tieneError;
	}

	public String getMensajeError() {
		return mensajeError;
	}

	public void setMensajeError(String mensajeError) {
		this.mensajeError = mensajeError;
	}

	public String getTelefonoCliente() {
		return TelefonoCliente;
	}

	public void setTelefonoCliente(String telefonoCliente) {
		TelefonoCliente = telefonoCliente;
	}

	public String getDireccionCliente() {
		return DireccionCliente;
	}

	public void setDireccionCliente(String direccionCliente) {
		DireccionCliente = direccionCliente;
	}

	public String getPuestoExpedicion() {
		return PuestoExpedicion;
	}

	public void setPuestoExpedicion(String puestoExpedicion) {
		PuestoExpedicion = puestoExpedicion;
	}

	public String getRazonSocialCliente() {
		return RazonSocialCliente;
	}

	public void setRazonSocialCliente(String razonSocialCliente) {
		RazonSocialCliente = razonSocialCliente;
	}

	public String getEstadoInicial() {
		return EstadoInicial;
	}

	public void setEstadoInicial(String estadoInicial) {
		EstadoInicial = estadoInicial;
	}

	public String getNroDocPagoERP() {
		return NroDocPagoERP;
	}

	public void setNroDocPagoERP(String nroDocPagoERP) {
		NroDocPagoERP = nroDocPagoERP;
	}

	public String getObs() {
		return Obs;
	}

	public void setObs(String obs) {
		Obs = obs;
	}

	public java.lang.String getBanco() {
		return banco;
	}

	public void setBanco(java.lang.String banco) {
		this.banco = banco;
	}

	public java.lang.String getCorridaNumero() {
		return corridaNumero;
	}

	public void setCorridaNumero(java.lang.String corridaNumero) {
		this.corridaNumero = corridaNumero;
	}

	public java.lang.String getTipoCambio() {
		return tipoCambio;
	}

	public void setTipoCambio(java.lang.String tipoCambio) {
		this.tipoCambio = tipoCambio;
	}

	/**
	 * Retorna el valor del id de la retencion
	 * @return int idRetention
	 */
	public int getIdRetention(){
		return idRetention;
	}
	
	/**
	 * Set the id paremeter in the idRetention field
	 * @param id
	 */
	public void setIdRetention(int id){
		idRetention = id;
	}
	
	/**
	 * Returns the mqMessageId
	 * @return java.lang.String 
	 */
	public java.lang.String getMqMessageId() {
		return mqMessageId;
	}

	/**
	 * Sets the mqMessageId
	 * @param mqMessageId the mqMessageId to set
	 */
	public void setMqMessageId(java.lang.String mqMessageId) {
		this.mqMessageId = mqMessageId;
	}

	public void addItem(Item item) {
		retentionItemList.add(item);
	}

	public Item getItem(int item) {
		try{
			return (RetentionItem) retentionItemList.get(item);
		}
		catch(java.lang.NullPointerException e){
			return null;
		}
	}

	
	public int getItemCount() {
		return retentionItemList.size();
	}

	public void removeItem(int item) {
		try{
			retentionItemList.remove(item);
		}
		catch(java.lang.NullPointerException e){
			System.out.println("Error al eliminar posicion");
		}
			
	}

	/**
	 * Returns the estado
	 * @return estado
	 */
	public java.lang.String getEstado() {
		return estado;
	}

	/**
	 * Returns the fechaRetencion
	 * @return java.util.Date
	 */
	public java.util.Date getFechaRetencion() {
		return fechaRetencion;
	}

	/**
	 * Returns the moneda
	 * @return java.lang.String
	 */
	public java.lang.String getMoneda() {
		return moneda;
	}

	/**
	 * Returns the numRetencion
	 * @return java.lang.String
	 */
	public java.lang.String getNumRetencion() {
		return numRetencion;
	}
	/**
	 * Returns the rucComprador
	 * @return java.lang.String
	 */
	public java.lang.String getRucComprador() {
		return rucComprador;
	}

	/**
	 * Returns the rucProveedor
	 * @return java.lang.String
	 */
	public java.lang.String getRucProveedor() {
		return rucProveedor;
	}

	/**
	 * Returns the serieRetencion
	 * @return java.lang.String
	 */
	public java.lang.String getSerieRetencion() {
		return serieRetencion;
	}

	/**
	 * Returns the totalMontoPago
	 * @return double
	 */
	public java.lang.Double getTotalMontoPago() {
		return totalMontoPago;
	}

	/**
	 * Returns the totalMontoRetencion
	 * @return double
	 */
	public java.lang.Double getTotalMontoRetencion() {
		return totalMontoRetencion;
	}

	/**
	 * Sets the estado
	 * @param estado the estado to set
	 */
	public void setEstado(java.lang.String estado) {
		this.estado = estado;
	}

	/**
	 * Sets the fechaRetencion
	 * @param fechaRetencion the fechaRetencion to set
	 */
	public void setFechaRetencion(java.util.Date fechaRetencion) {
		this.fechaRetencion = fechaRetencion;
	}

	/**
	 * Sets the flagRegistroEliminado
	 * @param flagRegistroEliminado the flagRegistroEliminado to set
	 */

	/**
	 * Sets the moneda
	 * @param moneda the moneda to set
	 */
	public void setMoneda(java.lang.String moneda) {
		this.moneda = moneda;
	}

	/**
	 * Sets the numRetencion
	 * @param numRetencion the numRetencion to set
	 */
	public void setNumRetencion(java.lang.String numRetencion) {
		this.numRetencion = numRetencion;
	}

	/**
	 * Sets the rucComprador
	 * @param rucComprador the rucComprador to set
	 */
	public void setRucComprador(java.lang.String rucComprador) {
		this.rucComprador = rucComprador;
	}

	/**
	 * Sets the rucProveedor
	 * @param rucProveedor the rucProveedor to set
	 */
	public void setRucProveedor(java.lang.String rucProveedor) {
		this.rucProveedor = rucProveedor;
	}

	/**
	 * Sets the serieRetencion
	 * @param serieRetencion the serieRetencion to set
	 */
	public void setSerieRetencion(java.lang.String serieRetencion) {
		this.serieRetencion = serieRetencion;
	}

	/**
	 * Sets the totalMontoPago
	 * @param totalMontoPago the totalMontoPago to set
	 */
	public void setTotalMontoPago(java.lang.Double totalMontoPago) {
		this.totalMontoPago = totalMontoPago;
	}

	/**
	 * Sets the totalMontoRetencion
	 * @param totalMontoRetencion the totalMontoRetencion to set
	 */
	public void setTotalMontoRetencion(java.lang.Double totalMontoRetencion) {
		this.totalMontoRetencion = totalMontoRetencion;
	}
	/**
	 * Returns the direccionProveedor
	 * @return direccionProveedor
	 */
	public java.lang.String getDireccionProveedor() {
		return direccionProveedor;
	}
	/**
	 * Returns the razonSocialProveedor
	 * @return razonSocialProveedor
	 */
	public java.lang.String getRazonSocialProveedor() {
		return razonSocialProveedor;
	}
	/**
	 * Sets the direccionProveedor
	 * @param direccionProveedor the direccionProveedor to set
	 */
	public void setDireccionProveedor(java.lang.String direccionProveedor) {
		this.direccionProveedor = direccionProveedor;
	}
	/**
	 * Sets the razonSocialProveedor
	 * @param razonSocialProveedor the razonSocialProveedor to set
	 */
	public void setRazonSocialProveedor(java.lang.String razonSocialProveedor) {
		this.razonSocialProveedor = razonSocialProveedor;
	}

	/**
	 * Retorna el estado de la retencion
	 * @return int status
	 */
	public String getStatus() {
		return status;
	}
	
	/**
	 * set the status 
	 * @param stat to set the status
	 */
	public void setStatus(String stat){
		status = stat;
	}

	public java.util.Vector getRetentionItemList() {
		return retentionItemList;
	}

	public void setRetentionItemList(java.util.Vector retentionItemList) {
		this.retentionItemList = retentionItemList;
	}

	public java.lang.Double getTotalMontoOrigen() {
		return totalMontoOrigen;
	}

	public void setTotalMontoOrigen(java.lang.Double totalMontoOrigen) {
		this.totalMontoOrigen = totalMontoOrigen;
	}

	

	
}
